package com.bt.lms.dao.servise;

import com.bt.lms.entity.ClassInfo;

import java.util.List;

/**
 * 班级信息Dao
 *
 * @author 李鹏
 */
public interface ClassInfoDao {

    /**
     * 添加随机分班信息表
     * @param sql 要执行的sql
     * @param classInfos 多个班级信息
     * @return 受影响的行数
     */
    public int insert(String sql, List<ClassInfo> classInfos) throws Exception;

    /**
     * 添加分班信息表
     * @param sql 要执行的sql
     * @param classInfos 多个班级信息
     * @param enrollmentPlanId 招生计划id
     * @return 受影响的行数
     */
    public int insertClassInfo(String sql,List<ClassInfo> classInfos,Long enrollmentPlanId) throws Exception;

    /**
     * 添加手动分班信息表
     * @param sql 要执行的sql
     * @param classInfos 要插入的数据
     * @return 受影响的行数
     */
    public int insertHandClassInfo(String sql,List<ClassInfo> classInfos) throws Exception;

    /**
     * 添加分班信息表
     * @param sql 要执行的sql
     * @param classInfos 多个班级信息
     * @param enrollmentPlanId 招生计划id
     * @return 受影响的行数
     */
    public int insertHandDivideInfo(String sql,List<ClassInfo> classInfos,Long enrollmentPlanId) throws Exception;

    /**
     * 预览分班结果
     * @param sql 要执行的sql
     * @param classInfos 多个班级信息
     * @param enrollmentPlanId 招生计划id
     * @return 多个班级信息
     */
    public List<ClassInfo> previewResult(String sql,List<ClassInfo> classInfos, Long enrollmentPlanId) throws Exception;

}
